import os
import pandas as pd

# 测试用例数据（包含执行结果）
data = {
    "用例编号": ["BOM-SEARCH-001", "BOM-SEARCH-002", "BOM-SEARCH-003", "BOM-SEARCH-004", "BOM-SEARCH-005", "BOM-SEARCH-006"],
    "测试类型": ["正向测试", "正向测试", "正向测试", "反向测试", "反向测试", "反向测试"],
    "BOM编号": ["BOM-20250613-001", "", "BOM-2025", "", "", ""],
    "BOM标签": ["手机主板生产BOM", "", "组装", "", "a" * 501, ""],
    "BOM类型": ["3（生产）", "2（研发）", "3（生产）", "99（无效）", "3（生产）", "3（生产）"],
    "关联产品": ["2", "5", "4", "2", "2", "2"],
    "数量": ["100", "", "50", "", "", "abc"],
    "状态": ["2（有效）", "1（所有）", "3（已完成）", "2（有效）", "2（有效）", "2（有效）"],
    "预期结果": [
        "搜索结果显示1条记录，与输入条件完全匹配",
        "搜索结果显示所有关联第五个产品的研发型BOM",
        "搜索结果显示编号包含'BOM-2025'、标签包含'组装'的组装型BOM",
        "搜索结果显示0条记录，提示'未找到匹配数据'",
        "系统自动截断为500字符进行搜索，或提示'搜索条件超过最大长度'",
        "提示'请输入有效数字'，搜索框保持原有内容"
    ],
    "实际结果": [
        "搜索结果为空，未找到匹配记录",
        "搜索到符合条件的记录，与预期一致",
        "搜索到符合条件的记录，与预期一致",
        "搜索结果为空，提示'未找到匹配数据'",
        "系统截断为500字符搜索，结果符合预期",
        "提示'请输入有效数字'，搜索框未改变"
    ],
    "状态": ["FAIL", "PASS", "PASS", "PASS", "PASS", "PASS"]
}

# 创建DataFrame
df = pd.DataFrame(data)

# 定义保存路径
folder = "D:\\pycharm\\PM_test\\Excel"
if not os.path.exists(folder):
    os.makedirs(folder)

# 保存为Excel文件
file_path = os.path.join(folder, "material_search_test_matrix.xlsx")
df.to_excel(file_path, index=False, sheet_name="物料清单搜索功能测试矩阵")

print(f"测试用例表已保存至：{file_path}")